Systems and methods for investigating and evaluating financial crime and sanctions-related risks

ABSTRACT

A research, analysis, regulatory compliance and media platform that connects customers to finished research and analysis produced by subject matter experts is described. The platform facilitates research, investigations, and analysis by creating a single environment in which a group of distributed analysts conduct research and investigations, store and retrieve documents and other sources, collaborate, and publish findings. Consumers are able to query a published knowledge graph, surface high value relationships, and access insights captured by analyst through a customer web portal or external production environment. The platform allows analysts and customers to research and map the commercial, financial, and facilitation networks of sanctioned or other actors that may be associated with illicit activity. Customers can access visual graphs depicting relationships between sanctioned and non-sanctioned actors in order to evaluate their possible exposure to financial crime or sanctions-related risks.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/104,706, filed Aug. 17, 2018, which is a continuation of U.S.application Ser. No. 15/713,260, filed Sep. 22, 2017, the entirety ofeach of which is herein incorporated by reference.

COPYRIGHT NOTICE

The present application includes material that is subject to copyrightprotection. The copyright owner does not object to the facsimilereproduction of the application by any person as the application appearsin the records of the U.S. Patent and Trademark Office, but otherwisereserves all rights in the copyright.

FIELD OF INVENTION

The present invention is generally directed to systems and methods forinvestigating and evaluating financial crime and sanctions-relatedrisks. More particularly, the present invention is related to systemsand methods involving an internal production environment configured tointeract with analysts and an external production environment configuredto interact with customers. The combination of the two environments andother mechanisms help maintain and evaluate financial crime andsanctions-related risks.

BACKGROUND OF THE INVENTION

Today's banking and financial systems are subject to complex regulationsthat can subject those institutions to significant fines, otherregulatory penalties, and reputational risk. Various procedures andsystems have been developed to assist these institutions in monitoring,investigating, and avoiding risks addressed by such regulations.Financial crime and sanctions-related risks can arise from directly orindirectly conducting or supporting financial transactions with entitiesunder sanctions or otherwise engaged in illicit activity. Theseregulations can be complex and can involve identified entities and otherentities that fall under sanctions by association. There are a number ofexisting systems but they have been found thus far to be inadequate inproviding the institution with a cogent and quick representation of therisk as new situations arise. There is a tremendous amount ofinformation, and understanding and assessing the information down torelevant parts has been difficult to achieve. The efficiency inproviding such services and the way the information is interactivelymade available have also been inadequate.

SUMMARY OF THE INVENTION

In accordance with principles of the invention, a computer implementedsystem for providing a visual interactive software tool that permitsusers to investigate and evaluate financial crime and sanctions-relatedrisks is contemplated. In one embodiment, the system may comprise agraph database configured to store edges, nodes, and properties, a firstsubsystem configured to store and publish a style guide over a network,a document library, an internal production environment configured tointeract with analysts, and an external production environmentconfigured to interact with customers. The graph database is located innonvolatile memory or stores nodes, edges, and properties in nonvolatilememory. The first subsystem is implemented on a computer configured withvolatile and non-volatile memory and configured to communicate over anetwork. The style guide includes a plurality of data models that areidentified in the style guide to model different categories ofsituations and contains requirements for a structure and format of dataused to enter nodes, edges, and properties for a particular data model.The document library is also implemented on a computer configured withvolatile and non-volatile memory and to communicate over a network. Thedocument library can communicate with different sources to receiveinformation to be reviewed by analysts and save received informationthat is used by analysts to enter nodes, edges, and properties. Each ofthe internal production environment and the external productionenvironment is implemented on one or more servers configured withvolatile and non-volatile memory and configured to communicate over anetwork. The internal production environment can communicate withanalysts' computers over a network. The external production environmentcan communicate with customers' computers over a network.

The internal production environment implements an electronic onlineworkspace for analysts. The internal production environment configuresthe electronic online workspace to provide analysts with a softwareinterface to enter a first category of information to identify and inputindividual nodes and to enter a second category of informationspecifying edges (i.e., different types of relationships) between thenodes in the first category. The inputted nodes include source nodes andcorridor endpoint nodes. The internal production environment, inresponse, stores the entered nodes, edges, and properties in the graphdatabase.

The internal production environment also comprises a software enginethat finds corridors. The software engine, in response to the enterednodes, edges, and properties, automatically traverses pathways which areavailable starting from each source node through connected edges andnodes. The software engine identifies any new pathways and traverses thepathways until it reaches a corridor endpoint node before a maximumnumber of degrees of node-traversal as specified by the software enginehas been reached, or it reaches a node or edge in the traversal processthat has no risk relevance or low risk relevance for the purpose ofcorridor generation.

The software engine then eliminates some of the identified pathways. Theelimination process includes eliminating pathways that include the nodesor edges that have no risk relevance or low risk relevance for thepurpose of corridor generation and the pathways that include a totalnumber of nodes at or above the maximum number of degrees ofnode-traversal. The software engine stores a set of weights incorrespondence with the different types of edges and assigns weightsbased on the type of edge or connected node to the edges in eachpathway. In response to eliminating pathways and assigning weights, thesoftware engine identifies the remaining pathways to be the resultingcorridors for the source node and further based on a cumulative value ofweights on edges in each resulting corridor specifies a variable degreeof relevance to the resulting corridors.

The system also comprises a second subsystem configured to perform apublish process. The publish process approves and transmits theresulting one or more corridors and the nodes, edges, and properties toan external production environment. The second subsystem is implementedon a computer configured with volatile and nonvolatile memory tocommunicate over a network.

The external production environment is configured to receive and storethe one or more resulting corridors and the nodes, edges, and propertiesin an external graph database which aggregates corridors and nodes,edges, and properties and maintains edge connections between nodes indifferent corridors.

The external production environment comprises an electronic onlinecustomer platform. The platform includes a visual interactive interfacehaving interactive tools. The tools include a search engine thatprovides keyword searching capability that surfaces possible matchingnodes in the external graph database, that provides the user with theability to add an identified node to the visual workspace, thatgenerates a visual graphic as representation of the identified node inthe workspace, that communicates that the identified node has a numberof connections (connected nodes) that include a number of corridors, andthat permits the user to select one of the connections or corridors toadd to the visual workspace. In response to adding the connection orcorridor to the visual workspace, the engine displays additional nodesand edges that are part of the connection or corridor using separatevisual graphical elements for nodes and edges that visually illustratethe connection or corridor.

The external production environment can communicate a relative relevanceof a plurality of corridors based on the weights. The externalproduction environment is further configured to display underlyingproperties for the nodes and edges by retrieving the underlyingproperties from the external graph database.

The electronic online customer platform is further configured to permitthe customer to add a node to the workspace that already contains theidentified node. In response to the addition, the workspaceautomatically displays a graphic representation of a connection betweenthe added node and the identified node, if a relationship between thetwo nodes exists.

The electronic online customer platform is further configured to permitthe customer to add a corridor to the workspace that already containsthe identified node. In response to the addition, the workspaceautomatically displays graphic representations of nodes and edges of theadded corridor.

The electronic online customer platform is further configured to providethe customer with option to interactively select a node displayed on theworkspace. In response to the selection, the workspace communicatescorridors associated with the selected node that can be added to theworkspace.

The electronic online customer platform is further configured to providethe customer with option to interactively select a node displayed on theworkspace. In response to the selection, the workspace communicatesother nodes associated with the selected node that can be added to theworkspace.

In accordance with principles of the invention, a computer implementedmethod for investigating and evaluating financial crime andsanctions-related risks is contemplated. In one embodiment, the methodcomprises storing edges, nodes, and properties in a graph database,storing and publishing a style guide over a network, receivinginformation in a document library to be reviewed by analysts and savingreceived information in the document library that is used by analysts toenter nodes, edges, and properties, implementing an internal productionenvironment configured to interact with analysts, and implementing anexternal production environment configured to interact with customers.The graph database is located in nonvolatile memory. The style guide isstored in and published via a first subsystem implemented on a computerconfigured with volatile and non-volatile memory and to communicate overa network. The style guide includes a plurality of data models that areidentified in the style guide to model different categories ofsituations and contains requirements for a structure and format of dataused to enter nodes, edges, and properties for a particular data model.The document library is also implemented on a computer configured withvolatile and non-volatile memory and to communicate over a network. Thedocument library can communicate with different sources to receiveinformation to be reviewed by analysts and save received informationthat is used by analysts to enter nodes, edges, and properties. Each ofthe internal production environment and the external productionenvironment is implemented on one or more servers configured withvolatile and non-volatile memory and to communicate over a network. Theinternal production environment can communicate with analysts' computersover a network. The external production environment can communicate withcustomers' computers over a network.

The internal production environment implements an electronic onlineworkspace for analysts. The workspace is configured to provide analystswith a software interface to enter a first category of information toidentify and input individual nodes or groups of nodes and to enter asecond category of information specifying edges (i.e., different typesof relationships) between the nodes in the first category. The inputtednodes include source nodes and corridor endpoint nodes. In response toentering the first and second category of information, the method storesthe entered nodes, edges, and properties in the graph database.

The internal production environment implements a software engine thatfinds corridors. In response to the stored nodes, edges, and properties,the method, via the software engine, automatically traverses pathwayswhich are available starting from each source node through connectededges and nodes. The method identifies, via the software engine, any newpathway and traverses the pathways until it reaches a corridor endpointnode before a maximum number of degrees of node-traversal as specifiedby the software engine has been reached, or it reaches a node or edge inthe traversal process that has no risk relevance or low risk relevancefor the purpose of corridor generation.

The method then eliminates, via the software engine, some of theidentified pathways. The elimination process includes eliminatingpathways that include the nodes or edges that have no risk relevance orlow risk relevance for the purpose of corridor generation and thepathways that include a total number of nodes at or above the maximumnumber of degrees of node-traversal. The method stores, via the softwareengine, a set of weights in correspondence with the different types ofedges and assigns weights based on the type of edge or connected node tothe edges in each pathway. In response to eliminating pathways andassigning weights, the method, via the software engine, identifies theremaining pathways to be the resulting corridors for the source node andfurther based on a cumulative value of weights on edges in eachresulting corridor specifies a variable degree of relevance to theresulting corridors.

The method also includes a publication process that approves andtransmits the resulting one or more corridors and the nodes, edges, andproperties to an external production environment. The publicationprocess is performed by a second subsystem that is implemented on acomputer configured with volatile and non-volatile memory and tocommunicate over a network.

The method also includes receiving and storing, via the externalproduction environment, the one or more resulting corridors and thenodes, edges, and properties in an external graph database whichaggregates corridors and nodes, edges, and properties and maintains edgeconnections between nodes in different corridors.

The method includes implementing an electronic online customer platformin the external production environment. The platform provides a visualinteractive interface that comprises a visual workspace and interactivetools. The tools include a search engine that is configured to providekeyword searching capability that surfaces possible matching nodes inthe external graph database, that provides the user with the ability toadd an identified node to the visual workspace, that generates a visualgraphic as representation of the identified node in the workspace, thatcommunicates that the identified node has a number of connections thatinclude a number of corridors, and that permits the user to select oneof the connections or corridors to add to the visual workspace. Inresponse to adding the connection or corridor to the visual space, themethod, via the engine, displays additional nodes and edges that arepart of the connection or corridor using separate visual graphicalelements for nodes and edges that visually illustrate the connection orcorridor.

The method further comprises communicating, via the external productionenvironment, a relative relevance of a plurality of corridors based onthe weights.

The method further comprises displaying, via the external productionenvironment, underlying properties for the nodes and edges by retrievingthe underlying properties from the external graph database.

The method further comprises permitting, via the electronic onlinecustomer platform, the customer to add a node to the workspace thatalready contains the identified node. In response to the addition, themethod automatically displays, via the electronic online customerplatform, a graphic representation of a connection between the addednode and the identified node, if a relationship between the two nodesexists.

The method further comprises permitting, via the electronic onlinecustomer platform, the customer to add a corridor to the workspace thatalready contains the identified node. In response to the addition, themethod automatically displays, via the electronic online customerplatform, graphic representations of nodes and edges of the addedcorridor.

The method further comprises providing, via the electronic onlinecustomer platform, the customer with option to interactively select anode displayed on the workspace. In response to the selection, themethod communicates, via the electronic online customer platform,corridors associated with the selected node that can be added to theworkspace.

The method further comprises providing, via the electronic onlinecustomer platform, the customer with option to interactively select anode displaced on the workspace. In response to the selection, themethod communicates, via the electronic online customer platform, othernodes associated with the selected node that can be added to theworkspace.

In accordance with principles of the invention, a computer readable datamedium storing computer-executable instructions that, when executed by aprocessor, cause the processor to perform a method for investigating andevaluating financial crime and sanctions-related risks is contemplated.The method comprises establishing a graph database configured to storeedges, nodes, and properties in nonvolatile memory, storing andpublishing a style guide, receiving information in a document library tobe reviewed by analysts and saving received information in the documentlibrary that is used by analysts to enter nodes, edges, and properties,communicating with an internal production environment configured tointeract with analysts, and communicating with an external productionenvironment configured to interact with customers. The graph database islocated in nonvolatile memory. The style guide is stored in andpublished via a first subsystem implemented on a computer configuredwith volatile and non-volatile memory and to communicate over a network.The style guide includes a plurality of data models that are identifiedin the style guide to model different categories of situations andcontains requirements for a structure and format of data used to enternodes, edges, and properties for a particular data model. The documentlibrary is also implemented on a computer configured with volatile andnonvolatile memory and to communicate over a network. The documentlibrary can communicate with different sources to receive information tobe reviewed by analysts and save received information that is used byanalysts to enter nodes, edges, and properties. Each of the internalproduction environment and the external production environment isimplemented on one or more servers configured with volatile andnon-volatile memory and to communicate over a network. The internalproduction environment can communicate with analysts' computers over anetwork. The external production environment can communicate withcustomers' computers over a network.

The internal production environment implements an electronic onlineworkspace for analysts. The workspace is configured to provide analystswith a software interface to enter a first category of information toidentify and input individual nodes or groups of nodes and to enter asecond category of information specifying edges (i.e., different typesof relationships) between the nodes. The inputted nodes include sourcenodes and corridor endpoint nodes. In response entering the first andsecond category of information, the method stores the entered nodes,edges, and properties in the graph database.

The internal production environment implements a software engine thatfinds corridors. In response to the stored nodes, edges, and properties,the method, via the software engine, automatically traverses pathwayswhich are available starting from each source node through connectededges and nodes. The method identifies, via the software engine, any newpathway and traverses the pathways until it reaches a corridor endpointnode before a maximum number of degrees of node-traversal as specifiedby the software engine has been reached, or it reaches a node or edge inthe traversal process that has no risk relevance or low risk relevancefor the purpose of corridor generation.

The method then eliminates, via the software engine, some of theidentified pathways. The elimination process includes eliminatingpathways that include the nodes or edges that have no risk relevance orlow risk relevance for the purpose of corridor generation and thepathways that include a total number of nodes at or above the maximumnumber of degrees of node-traversal. The method stores, via the softwareengine, a set of weights in correspondence with the different types ofedges and assigns weights based on the type of edge or connected node tothe edges in each pathway. In response to eliminating pathways andassigning weights, the method identifies, via the software engine, theremaining pathways to be the resulting corridors for the source node andfurther based on a cumulative value of weights on edges in eachresulting corridor specifies a variable degree of relevance to theresulting corridors.

The method also includes a publication process that approves andtransmits the resulting one or more corridors and the nodes, edges, andproperties to an external production environment. The publicationprocess is performed by a second subsystem that is implemented on acomputer configured with volatile and non-volatile memory and tocommunicate over a network.

The method also includes receiving and storing, via the externalproduction environment, the one or more resulting corridors and thenodes, edges, and properties in an external graph database whichaggregates corridors and nodes, edges, and properties and maintains edgeconnections between nodes in different corridors.

The method includes implementing an electronic online customer platformin the external production environment. The platform provides a visualinteractive interface that comprises a visual workspace and interactivetools. The tools include a search engine that is configured to providekeyword searching capability that surfaces possible matching nodes inthe external graph database, that provides the user with the ability toadd an identified node to the visual workspace, that generates a visualgraphic as representation of the identified node in the workspace, thatcommunicates that the identified node has a certain number ofconnections that include a number of corridors, and that permits theuser to select one of the connections or corridors to add to the visualworkspace. In response to adding the connection or corridor to thevisual workspace, the method, via the engine, displays additional nodesand edges that are part of the connection or corridor using separatevisual graphical elements for nodes and edges that visually illustratethe connection or corridor.

The method further comprises communicating, via the external productionenvironment, a relative relevance of a plurality of corridors based onthe weights.

The method further comprises displaying, via the external productionenvironment, underlying properties for the nodes and edges by retrievingthe underlying properties from the external graph database.

The method further comprises permitting, via the electronic onlinecustomer platform, the customer to add a node to the workspace thatalready contains the identified node. In response to the addition, themethod automatically displays, via the electronic online customerplatform, a graphic representation of a connection between the addednode and the identified node, if a relationship between two nodesexists.

The method further comprises permitting, via the electronic onlinecustomer platform, the customer to add a corridor to the workspace thatalready contains the identified node. In response to the addition, themethod automatically displays, via the electronic online customerplatform, graphic representations of nodes and edges of the addedcorridor.

The method further comprises permitting, via the electronic onlinecustomer platform, the customer with option to interactively select anode displayed on the workspace. In response to the selection, themethod communicates, via the electronic online customer platform,corridors associated with the selected node that can be added to theworkspace.

BRIEF DESCRIPTION OF THE DRAWINGS

The nature and various advantages of the present invention will becomemore apparent upon consideration of the following detailed description,taken in conjunction with the accompanying drawings, in which likereference characters refer to like parts throughout, and in which:

FIG. 1 depicts an illustrative computer-implemented system for providinga visual interactive software tool that permits user to investigate andevaluate financial crime and sanctions-related risks in accordance withsome embodiments of the present invention;

FIG. 2 depicts illustrative nodes, properties, and an edge and theirrespective roles in accordance with some embodiments of the presentinvention,

FIG. 3 depicts illustrative corridors in accordance with someembodiments of the present invention;

FIG. 4 depicts an illustrative process for finding corridors inaccordance with some embodiments of the present invention;

FIG. 5 depicts illustrative steps that determine whether pathways havesatisfied certain automated rules to be qualified as corridors inaccordance with some embodiments of the present invention;

FIG. 6 depicts illustrative visual graphical elements with colorindicating a particular type of node and symbol indicating a particulartype of subject in accordance with some embodiments of the presentinvention;

FIGS. 7-11, 13, 14A, 15, and 16 depict illustrative screenshots of agraphical user interface, an interactive window(s), and relateddisplayed features generated by the system through which the userinteracts on their computer or PC to use the advantages provided by thesystem in accordance with some embodiments of the present invention;

FIG. 12 depicts additional illustrative corridors and an illustrativecorridor edge in accordance with some embodiments of the presentinvention;

FIG. 14B depicts an illustrative structure for constructing the visualgraphic of an illustrative insight in accordance with some embodimentsof the present invention;

FIG. 17 depicts another illustrative computer-implemented system forproviding a visual interactive software tool that permits user toinvestigate and evaluate financial crime and sanctions-related risks inaccordance with some embodiments of the present invention;

FIG. 18 depicts additional illustrative corridors that have certaintypes of relationships in accordance with some embodiments of thepresent invention; and

FIG. 19 depicts an illustrative visual graphic of one or more identifiednodes in accordance with some embodiments of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

In accordance with principles of the present invention, a system isprovided that can efficiently identify for users direct and indirectrelationships between an actor that does not appear on a sanctions listand other actors that do appear on a sanctions list using, among otherthings, a graph database and a style guide. The style guide allows manyanalysts to incrementally add to the data in the graph database in aconsistent, structured, and connected way. As new nodes are added to thesystem, a computer implemented process is implemented that traversespathways from the new node to a node that is identified on a sanctionslist and which relies on rules that identify only a subset of pathwaysfor use by the customers. The system eliminates pathways that have adegree of separation at or above a predetermined threshold andimplements other rules such as rules eliminating pathways that includenodes or edges that have no risk relevance or low risk relevance for thepurpose of corridor generation. The resulting pathways that are foundare considered “corridors” and are saved by the system in the graphdatabase. Thus, for example, in some embodiments, the systemincrementally adds corridors and stores them instead of traversing theentire graph. This technique also supports an interactive graphicalinterface of the system which provides an interactive tool for users toquickly and cogently understand risk using a visualization of one ormore corridors. The interface provides a visual workspace that allowsthe user to search by keywords and the interface, in response, listssearch results for possible matching nodes in the database. Theinterface further permits the user to select a node from the list ofsearch results (e.g., a person) and in response, the interface or systemgenerates a related list that includes a list of corridors (pathways inthe graph database from that starting node to a node that appears on asanctions list, also referred to as a corridor endpoint node) and otherconnected nodes under subject groupings. The user can interact with theinterface to select a corridor and add it to the workspace. The user canselect other corridors from the list and add to the workspace anddisplay it. This provides a powerful and elegant solution to the needsof the institution with respect to financial crime and sanctionscompliance. The interface permits the user to select individual nodesthat are in the workspace and in response, lists of related informationincluding corridors that are associated with that node, and otherconnected nodes, and the user can similarly add those to the workspace.This technique quickly adapts the source data and in operation, quicklysurfaces the relevant information in a visual way for understanding bythose in charge of evaluating financial crime and sanctions complianceissues at institutions. The known prior art is not able to accomplishsuch powerful results.

Embodiments of the present invention are directed to a software platformthat allows analysts and customers to research and map the commercial,financial, and facilitation networks of sanctioned or other actors thatmay be associated with illicit activity. Through embodiments to thepresent invention, financial institutions, multinational corporations,legal professionals, and other stakeholders can access visual graphsdepicting relationships between sanctioned and non-sanctioned actors inorder to evaluate their possible exposure to financial crime orsanctions-related risks. Embodiments illustrated herein are directed tofinancial crime and sanctions-related solutions and have particularsuitability to solving and assisting users with financial crime andsanctions compliance related issues. It should be understood thatdescribed features or systems can have broader or differentapplications. Sanctions refers to laws or regulations issued by agovernment that places commercial restrictions on certain identifiedentities or entities that are described in more general terms orindirectly (e.g., all subsidiaries of an entity that is specificallyidentified) and also place restrictions on commercial activitiesinvolving the restricted entities. Individuals, companies, ororganizations that violate the restrictions are subject to civil orcriminal penalties, which can be significant source of risk, typicallyarising from being a primary or secondary actor in a financialtransaction. In the United States, government organizations involved inissuing and enforcing such regulations include the Department of theTreasury, the Department of State, and the Department of Justice, butothers exist in the U.S. and in other countries.

FIG. 1 depicts an illustrative computer-implemented system 100 forproviding a visual interactive software tool that permits users toevaluate financial crime and sanctions-related risks. The system 100comprises a graph database 105 configured to store nodes, edges, andproperties a document library 110 configured to communicate withdifferent sources over a network to receive financial crime andsanctions-related risk information and save received information used byanalysts to create nodes, edges, and properties, an internal productionenvironment 115 configured to interact with analysts, and an externalproduction environment 120 configured to interact with customers. Thegraph databases 105 include an internal graph database and an externalgraph database. The internal graph database is configured to storenodes, edges, and properties inputted into the internal productionenvironment 115 by analysts, store nodes, edges, and properties foraccess and use by analysts in the internal production environment 115,and store other information entered and produced from the internalproduction environment 115. The information produced from the internalproduction environment 115 may be information created using the nodes,edges, and properties (e.g., connections and corridors). The externalgraph database is configured to store nodes and edges for customers' usein the external production environment 120 and store visual graphsproduced and saved by customers in the external production environment120. The graph database 105 may be a component separate from theinternal production environment 115 and the external productionenvironment 120 or be integrated with the internal productionenvironment 115 and the external production environment 120 (e.g., withthe internal graph database built into the internal productionenvironment 115 and with the external graph database built into theexternal production environment 120). The system 100 is configured tologically divide (e.g., by a mechanism such as user authenticationexecuted by subsystem 155) between the internal graph database and theexternal graph database, wherein customers are not permitted to accessor interact with nodes or edges in the internal graph database.

A node represents a subject. The system 100 is configured to allow forthe subject to be an individual, entity, postal address, e-mail address,event, number, telephone number, campaign, or other subject. The subjectmay be one that appears on a sanctions list or one that has a criminalrecord (sanctioned subject), one that is materially associated with asanctioned subject but does not appear on a sanctions list (associatedsubject), or one that is neutrally associated with a sanctioned subjector an associated subject and does not appear on a sanctions list(neutral subject). A node is described by properties that include one ormore words, numbers, symbols, or a combination thereof by which theunderlying subject is known or referred to. When the subject (orproperty) is a number, the number may be a phone number, fax number,driver license number, social security number, passport number, bankaccount number (including credit card and debit card account numbers),identification number used by the system 100, or other number.

An edge represents a relationship between two nodes. The relationshipmay be a business relationship (e.g., creditor, supplier, joint-venture,etc.), an ownership relationship (e.g., majority shareholder, minorityshareholder, subsidiary, etc.), a position relationship (e.g., director,manager, owner, etc.), a banking relationship (e.g., account holder,mortgagor, etc.), a familial relationship (e.g., father, daughter,cousin, etc.), and other relationships. An edge is described byproperties that include one or more words, numbers, symbols, or acombination thereof by which the underlying subject is known or referredto. FIG. 2 depicts an illustrative node, property, and edge and theirrespective roles. FIG. 2 depicts a graphical structure of the node,property, and edge that is presented to user when he or she assemblesthem through the workspace in the internal or external productionenvironment. The graph database 105 stores nodes, edges, and informationfrom the environments 115, 120 in nonvolatile memory. Nodes and edgesare part of a graph database and can also have a graphicalrepresentation as part of a user interface.

The internal production environment 115 includes an electronic onlineworkspace for analysts 130 and a software engine 135. The workspace 130provides a software interface that allows an analyst to enter a firstcategory of information to input individual nodes or group of nodes. Thenodes may be inputted into or created in the internal productionenvironment 115 from information stored in the document library 110.Analysts can access the internal production environment 115 over networkconnections as over an Internet connection. The document library 110communicates with different data sources over a network to receivefinancial crime and sanctions-related information. Data sources mayinclude government sanctions lists, court records, records ofincorporation, corporate filings, shipping records, news, websites,public social media postings, multi-media, and other sources. An analystmay review the stored information, determine subjects from the storedinformation, and enters each determined subject and relevant informationinto the internal production environment 115 to create or input a nodeand related properties. The information relied on by the analyst tocreate nodes can be saved in the document library so it is available forreview by the analyst and other analysts and users. In this way,analysts and users can check accuracy of the entered nodes andproperties, and review the actual received information directly (insteadof just the nodes, edges, and properties) if necessary. For example, thereceived information may include an article from a newspaper (or othersource), a link to the article, or information about the article, andthe analysts and users can review that article. An analyst may alsoobtain financial crime and sanctions-related information from placesother than the document library and use the internal productionenvironment 115 to merely input or create nodes. Once an inputted nodeis identified by the system or an analyst as appearing on a sanctionslist, the system designates it as a corridor endpoint node. Thedesignation imparts to the inputted node different characteristics andeffects that enables the software engine 135 to find paths and corridors(further discussed below) accordingly and that allows the electroniconline platform of the external production environment 120 to generate avisual graphic as a distinctive representation. A node can also becreated to represent an article or other data that serves as a sourcefor additions made by an analyst. This type of node is configured not tohave a graphical node inserted into a workspace.

The software interface also allows the analyst to enter a secondcategory of information specifying an edge and related propertiesbetween inputted nodes. The software interface provides a list ofavailable edges, and the analyst can select and specify an edge from thelist. The analyst may also create additional edges from the softwareinterface if they are not in the list. In some embodiments, inputting acertain node and/or specifying the type and direction of therelationship between two nodes may cause the system 100 to automaticallyselect a certain relationship between that certain inputted node andanother inputted node. The relationship selected by the system 100 maybe a mandatory relationship. In some embodiments, specifying a certainrelationship may cause the system 100 to automatically change or specifythe type of inputted node (e.g., source or corridor endpoint node). Thetype of node selected by the system 100 may be a mandatory type of node.

The first category of information and the second category of informationare stored in the graph database 105 and can be accessed by theworkspace 130.

The internal production environment 115 or the system 100 includes afirst subsystem that is configured to store and provide a style guide.The style guide includes a plurality of data models defined by analystsor administrators to model different situations and containsrequirements for a structure and format of data used to enter nodes,edges, and properties for a particular data model. For example, thesituations may include arrest, investigation, and litigation situations,and the data model can specify how the information of each situationshould be entered into the internal production environment 115. Forinstance, in an arrest situation, the data model may specify the typesof nodes that should be used, the edges that should be used for eachtype of node, the properties that should be used for each type of nodeand edge, and the format that the node, edge, and property should beentered to clearly convey the information represented by the nodes,edges, and properties. For example, the data model may require theanalyst to enter the nodes, edges, and properties in an “Arrest of[Person A] in [Country], who is [relationship] of [Person B]” formatwith the nodes, edges, and properties inserted in the correspondingbracket. The text in the format (e.g., “Arrest of,” who is,” and “of”)may be entered by the analyst or automatically generated by theenvironment 115 when the analyst selects the data model of the arrestsituation to be used for the information he is about enter. The datamodel may have similar specifications for investigation, litigation, andother situations. In this way, analysts can follow the same rules andrequirements for each situation and build the information for eachsituation in the same manner.

A data model can govern what and how each piece of information isentered into the internal production environment 115 in each situation,relate the entered information to a node in the graph database 105 basedon information in the entered information, and determine how the enteredinformation should be linked to or integrated with the node if theentered information is related. In some embodiments, a data model may beavailable as a template for entering the first and/or second category ofinformation. In some embodiments, an analyst can enter the first and/orsecond category of information and the system 100 can automaticallyselect the appropriate data model to add or integrate the information inthe data model into the graph database 105. The data model may includethe corresponding fields and the required data structure and format sothat the system 100 or the graph database 105 can be built andmaintained uniformly across all analysts. The data models can also becreated for other situations.

The development and publication of the style guide can be an importantcomponent of the system 100. A rigorous set of requirements anddefinitions can be specified in the style guide for a wide range ofsituations, subjects, or relationships. This approach embeds structuredconsistency in the analyst-created nodes, edges, properties, graphs, orrelated information (the creation of which may involve many differentanalysts and can involve many different sources of information or typesof sources) that permits the database to grow efficiently. The system100 can, in using the created information, automatically identify edgesor relationships between subjects. This can for example result inavoiding having multiple representations of the same subject in thedatabase which can create disconnects or result in duplicate orredundant paths. Other advantages are also gained from such a system.Note that this is one option and in some embodiments other variationscan be implemented.

The system is configured to allow collaboration. The system can beconfigured to have many analysts interact and save their work on thesystem. The system can be configured to allow analysts to see the workof other analysts on the system and to build on that work (efficientlybuilding a larger and more complex set of information). The system canbe configured to allow analysts to view the work saved by other analystsor can have restrictions in place that limit the access of analysts tonodes, edges, or properties that have been approved and added to theexternal production environment. For example, the internal productionenvironment 115 allows analysts to collaborate and build a databasestoring information that visually identifies direct and indirectrelationships between an actor that does not appear on a sanctions listand other actors that do appear on a sanctions list. Analysts (e.g.,other analysts) can then add additional actors or nodes to the databaseto continue the direct and indirect relationships and/or new actors ornodes to the database to create new direct and indirect relationshipsthat are not already in the database. The internal productionenvironment 115 also includes an approval process for new informationthat is being added by an analyst. The approval process can beconfigured as an automated process involving a workflow in which thecontributing analyst specifies to the system that a new set of subjectsor relationships are being added to the system and in response, anautomated approval process is implemented that can involve approval bypeers through the system or by supervisory reviewers.

The software engine 135 includes a set of computer implemented rules(generally referred to as rules) that are configured to traverse pathsand find (“surface”) a subset of the paths that meet certain rules (andtherefore, eliminate other paths). The subset that meets the rules isreferred to herein as corridors. The software engine 135 is configuredto find or identify corridors based on the stored first and secondcategory of information. A corridor is a pathway connecting any nodethat is not a corridor endpoint node to a node that is designated as acorridor endpoint node via one or more edges and/or one or moreconnecting nodes. A connecting node can be any node except a nodedesignated as a corridor endpoint node and/or other nodes deemed to haveno (or low) illicit finance or sanctions-related risk relevance for thepurpose of corridor generation. As a matter of clarification, at thetime an analyst creates a new node for a subject, the system 100 may notbe configured to require that the analyst specifies whether it is acorridor endpoint node or some other kind of node (e.g., a node that hasno risk relevance or low risk relevance for the purpose of corridorgeneration, or any further specificity with respect to the type of nodecan for example be determined by the software engine 135 based on theedges or paths connected to that node). At a base level, a corridor isdetermined (found) by identifying a node (that is not a corridorendpoint node) from the first category of information and connecting theidentified node to a designated corridor endpoint node in the firstcategory of information via a direct edge connection or via other nodesin the first category of information and the edges in the secondcategory of information. Rules are incorporated into the software engine135 that traverses or finds paths from identified nodes to designatedcorridor endpoint nodes and finds corridors as a subset of all pathswhere a path from an identified node can be traversed by the softwareengine 135 to reach a designated corridor endpoint node. In operation,the software engine 135 automatically traverses from the identified nodethrough connected nodes and edges until it reaches a designated corridorendpoint node. A corridor endpoint node is a type of node that isspecified or designated within the system as having different propertiesthan other nodes. A corridor endpoint node cannot be the starting pointof a corridor and is only available to end a pathway or corridor. Thecorridor endpoint node is defined by the system 100 (e.g., by rules,configurations, or data structures) to function that way with respect toidentified nodes. A corridor is found when the identified node isconnected to a corridor endpoint node and also certain rules aresatisfied. A corridor can be graphically illustrated by the system 100(e.g., as part of the graphical user interface) using a graphicalstructure comprising the connected nodes, edges and corridor endpointnode that form the corridor. Subject to meeting certain additional rules(discussed herein) a corridor can be identified by the software engine135 whenever an identified node can reach a corridor endpoint node.Multiple corridors can be generated for an identified node. The multiplecorridors may be pathways between an identified node and a corridorendpoint node, between an identified node and multiple corridor endpointnodes, or a combination thereof.

FIG. 3 depicts illustrative corridors 350, 355, 360, 364, 368. Asmentioned above, a corridor is a pathway between a source node and acorridor endpoint node that meets certain rule requirements. Fordiscussion purposes, in connection with FIG. 3, corridors are discussedin more general terms and additional specificity is discussed furtherbelow. The corridors 350, 355, 360 represent pathways between a sourcenode 305 and a corridor endpoint node 310. The corridor 350 includes anedge 315 joining the source node 305 and a connecting node 320, aconnecting node 320, and an edge 325 joining the connecting node 320 andthe corridor endpoint node 310. The corridor 355 is an edge 357 betweenthe source node 305 and corridor endpoint node 310. The corridor 360includes an edge 330 joining the source node 305 and a connecting node335, a connecting node 335, an edge 340 joining the source node 335 anda connecting node 345, a connecting node 345, and an edge 348 joiningthe connecting node 345 and the corridor endpoint node 310. The corridor364 represents a pathway between the same source node 305 and adifferent corridor endpoint node 370. The corridor 368 represents apathway between the same source node 305 and another different corridorendpoint node 375. The software engine 135 may not generate corridorsfor some of the source nodes since not all the source nodes can beconnected to a corridor endpoint node.

The software engine 135 is programmed with a maximum number of degreesof node-traversal. The maximum number of degrees of node-traversalrefers to the number of nodes in a pathway the software engine 135 ispermitted (by rule) to traverse to reach a corridor endpoint node from aparticular source node. The software engine 135 will end the nodetraversal, exits the traversed pathway, and eliminates that traversedpathway from qualifying as a corridor when the software engine 135determines that the current traversed node is equal to the maximumnumber of degrees of node-traversal. The software engine 135 isconfigured to eliminate a pathway when the number of nodes in the path(after the source node) reaches a maximum. The maximum can be specifiedinternal to the system and not otherwise visible to users or analystswhen interacting with the system. The maximum can for example beselected to be one of 4, 5, 6, 7, or 8 nodes, which can have advantagesin processing, relevancy, and presentation. Other maximums arecontemplated. With this rule, the software engine 135 prevents pathwaysthat exceed the maximum number of degrees of node-traversal fromqualifying to be corridors. If the software engine 135 has reached themaximum number and no corridor endpoint node is found, then the softwareengine 135 moves onto traversing another pathway (e.g., which can startfrom the same source node again if that source node has other pathwaysor from the next source node) to find a corridor endpoint node. Sincethe graph database 105 may store a large number of nodes and edges,their combinations may produce an enormous number of pathways. Themaximum number can control the number of iteration performed by thesoftware engine 135 to save processing time and power consumption. Forbrevity, the term maximum number of degrees of node-traversal issometimes referred to or abbreviated as the maximum number, the maximumnumber of node traversal, the maximum number of node traversal ordegrees of traversal, or the maximum number of traversal nodes.

FIG. 4 depicts an illustrative process 400 for finding corridors. Inaddition to the programmed maximum number, the software engine 135 isconfigured to apply a process that identifies and eliminates pathwaysthat include a node in the path (between a source node and a corridorendpoint node) that has been designated as having no risk relevance orlow risk relevance for the purpose of corridor generation whentraversing through that node to a corridor endpoint node. Thedetermination by the system of which nodes (or edges) are ones that haveno risk relevance or low risk relevance for the purpose of corridorgeneration can be performed in one or more ways (or combinationsthereof) that are described herein as illustrative examples. A node (oredge) can be designated as having no risk relevance or low riskrelevance by an analyst via the electronic online analyst workspace. Thesoftware engine 135 can also determine whether a node is one that has norisk relevance or low risk relevance, without an analyst identifying itas such. The software engine 135 can make the determination by analyzingthe edge connecting the two nodes, the properties of the edge and twonodes, the number of edges the node has, or a combination thereof, anddetermining that the inclusion of the node, or the path associated withthe node, would indicate a neutral or primarily neutral relationshipbetween the two nodes. If desired, a software module that incorporatesartificial intelligence or a set of rules can be implemented in someembodiments that determines whether a node or edge has no or low riskrelevance for the purpose of corridor generation. Low risk relevance ismentioned to explain that a low level of relevance would still not besufficient to reach a threshold value for the purpose of corridorgeneration. The software engine 135 is configured to recognize nodesthat have no risk relevance or low risk relevance (e.g., governmentnode).

This configuration improves the technical and informational aspects ofthe resulting corridors. For example, a node for a government entity isremoved by this rule because its inclusion provides very limited or norelevance for the purpose of evaluating financial crime andsanctions-related risks for two distinct nodes that connect through thegovernment node. In operation, in one embodiment, the system implementeda process in which as part of the automated node traversal process, itdetermines whether each node is identified as a type of node that thesystem has stored with a designation that this type of node has no riskrelevance or low risk relevance for the purpose of corridor generation.If the system identifies a match, the system would eliminate thatpathway and would discontinue traversing that pathway. The node andrelated connection would be available and displayed (if desired) in aworkspace to provide additional information to a user.

FIG. 5 depicts illustrative steps 405 and 410 of FIG. 4. In thisexample, a low maximum number (e.g., 3) is used for explanatorypurposes. FIG. 5 shows a graphical illustration of the process in orderto further elaborate about its operation. If desired, the graphicalillustration could be incorporated into an interactive graphicalinterface. In FIG. 5, node 505 may have been recently added to theinternal production environment and approved to be added to the externalproduction environment. At this point, for example, the system processesthe addition as part of the already existing nodes and edges in thealready existing external production environment. The system willautomatically start at node 505 and traverse connections (e.g., one byone, at the same time, or some variation thereof) and applies automatedrules to select corridors. In this case, node 505 has connections tonode 510 (a node on a sanctions list and thus a corridor endpoint node)through nodes 520, 521, 525, 527, 530, 532, 534, 522, 524, and 529. Thesoftware engine 135 would traverse connected edges and nodes untilreaches node 510 or the node traversal is terminated before it reachesnode 510 when the software engine 135 determines that the current pathit is traversing has reached a maximum number of nodes before reaching acorridor endpoint node or a node or edge (reached in the traversalprocess) that is in the category of nodes or edges that have no riskrelevance or low risk relevance for the purpose of corridor generation.In the illustration, for convenience, lines 552, 554, 556, 558, 560, and562 are provided as a way to mark and discuss an associated set of nodesand edges that (based on information stored in the environment)establish a path from node 505 to node 510. Those lines are markers fordiscussion purposes. For example, in this case, using step 405 of FIG.4, the software engine 135 identifies pathways, referenced usingassociated markers, 552, 554, 556, 558, 560, 562 that connect node 505to corridor endpoint node 510 and eliminates pathway 558 because pathway558 involves more than 3 connecting nodes (e.g., 520, 530, 532, and534). In operation, the process would stop the traversal process when itreaches the maximum number of traversal nodes (3 in this example) andthe system would not identify or “know” that there is a pathway 558 tonode 510 because it would have stopped the traversal process when itreached the maximum (i.e., node 532). By performing step 410 of FIG. 4,the software engine 135 identifies that node 522 has no risk relevanceor low risk relevance for the purpose of corridor generation, when itreaches that node in the node traversal process, and eliminates pathway560 associated with node 522. Similarly, in operation, the process wouldstop the traversal process when it reaches the node 522 (determines nodehas no risk relevance or low risk relevance for the purpose of corridorgeneration) and at that point the system would not identify or “know”that there is a pathway 560 to node 510 because it would have stoppedthe traversal process when it reached node 522. As a result, thesoftware engine 135 keeps only pathways 552, 554, 556 and 562 afterperforming steps 405 and 410 and the kept pathways are determined to becorridors associated with node 505 in relation to node 510 (since therecan be other relations). Corridors are automatically added to theexternal production environment when or in response to being found bythe software engine 135. Other implementations are also contemplated.

The predetermined node type for non-traversal, the type of node that theprocess should identify and use to eliminate path being traversed (norisk relevance or low risk relevance), and the predetermined number ofconnecting nodes (maximum number of node traversal or degrees oftraversal) may be inputted by the analyst into the software interfacebut is preferably pre-programed in the software engine 135 (in theimplementation of the overall system).

The process 400 (FIG. 4) further comprises determining a degree ofrelevance for the corridors 415. The step 415 comprises storing a set ofweights in correspondence with the different types of edges 420,assigning weights based on the type of edges in each corridor 425,calculating a cumulative value of weights for each found corridor basedon the assigned weights 430, and specifying a degree of relevance toother corridors for each corridor 435 based on the cumulative value. Thetypes of edges may be based on whether the relationship is a shareholderone, an employment one, a banking one, a familial one, or other oneand/or the rank in the relationship (majority shareholder vs. minorityshareholder, director vs. associate, son vs. cousin, etc.). Eachrelationship type and rank has an assigned weight, and certainrelationships types and ranks have a weight higher than otherrelationship types and ranks. Higher weight may refer to a higherassigned number or a higher multiplier in the calculation step 430 orthe formula used in the calculation step 430. The calculation step 430may be based on adding all the assigned weights of the connecting edgesin a corridor. The total sum or cumulative value may be used as the onlyparameter in the specifying step 435 to determine the degree ofrelevance. The cumulative value may also be used with other parametersor in another procedure to determine the relevance in step 435. A highercumulative value may represent that the corridor has a higher relevancecompared to other corridors. In some embodiments, a lower cumulativevalue may represent that the corridor has a higher relevance compared toother corridors. The degree of relevance may be output as a number on ascale configured to convey such degree. For example, the corridor withthe strongest degree of relevance may be marked with “1”, the corridorwith the second strongest degree of relevance may be marked with “2,”and so forth. Other numbers, letter, characters, or orders (e.g., fromlarge number to small number) may also be used. The number may bedifferent from the cumulative value. The system can be configured toonly assign weights that are equal or greater than 1 (with 1 indicatingmost relevant and ascending numbers, totals, indicating lower relevance,in relation to a weight of 1).

If desired as an option, the step 415 may further comprise a step 440that eliminates corridors based on relevance determined from calculatingweights. The step 440 may eliminate corridors based on assigned weightsin step 425 and before the calculation step 430. In this case, steps 430and 435 calculate a cumulative value and specify a degree of relevancefor the remaining corridors. The step 440 may eliminate corridors basedon the calculated cumulative value in step 430. The step 440 mayeliminate corridors that do not have a cumulative value that is above,below, or matches a predetermined cumulative value. In this case, step435 specifies a degree of relevance for the remaining corridors. Thepredetermined cumulative value may be provided by analyst from softwareinterface or be pre-programed in the software engine 135 and besubsequently modified to a different number by analyst from the softwareinterface.

The step 415 may be performed after the step 405 is executed, after thestep 410 executed, or after both steps 405 and 410 are executed. In anyof these scenarios, the step 415 may operate to determine a degree ofrelevance for corridors kept by step 405 and/or 410 without the step440. The step 415 may also operate to further eliminate one or morecorridors kept by step 405 and/or 410 and determine a degree ofrelevance for the remaining corridors. In other words, the step 440 maybe optional in some embodiments.

In some embodiments, the step 415 may be configured to perform beforesteps 405 and/or 410. In that situation, steps 405 and/or 410 mayfurther eliminate corridors kept by the step 415 (whether step 415performs the eliminating step 440 or not). In some embodiments, the step415 may be configured as an alternative step to steps 405 and 410. Theprocess 400 may operate based on the step 415 to eliminate corridorswithout steps 405 and 410.

All the data available to (e.g., all the predetermined numbers, assignedweights, etc.) and produced by the software engine 135 (e.g., thegenerated corridors, the cumulative values, kept/resulting corridors,etc.) may be stored in the internal graph database.

The system 100 includes a second subsystem that is configured to approveand provide the kept or resulting corridors and the associated nodes,edges, and properties from the internal production environment 115 (orthe internal graph database) to the external production environment 120(or the external graph database) via link 133 (FIG. 1). In oneembodiment, the second subsystem may provide a multi-stage approvalprocess. In the first stage, the second subsystem may transmit the workadded by an analyst (e.g., a set of new nodes and edges that are relatedto a sanctioned subject based on a court record) to the computers ofpeer analysts for peer analysts' review (which is understood to includeweb browser implementations, which should be generally understood withrespect to other aspects as well). The second subsystem may require acertain number of analysts to approve the work (added research) in orderto advance to the next stage. Upon approval by the required number ofanalysts, the second subsystem may transmit the analyst-approved work tothe computer of a senior analyst for the senior analyst's review. Uponapproval by the senior analyst, the work (a particular set of nodes,edges, or properties) are provided (inserted and saved) to the externalproduction environment 120. The approval process may have additional orfewer stages. During any of the stages, any rejected work will not betransferred to the external production environment 120. The kept orresulting corridors are used interchangeably throughout this applicationto refer to corridors that remain after an eliminating step isperformed, which may be step 405, 410, and/or 415. The second subsystemis configured to automatically feed approved work to the externalproduction environment 120. The second subsystem also provides approvedwork to the third subsystem.

The external production environment 120 (FIG. 1) is configured toreceive and store the resulting corridors and the associated nodes,edges, and properties in the external graph database. The external graphdatabase can aggregate resulting corridors and associated source nodes(e.g., adding current resulting corridors and associated nodes, edgesand properties to resulting corridors and associated nodes, edges, andproperties previously stored in the external graph database) andmaintain edge connections between nodes in different corridors.

The external production environment 120 includes an electronic onlinecustomer platform 140 (and is accessible via a web portal 1044 as shownin FIG. 17) and a software engine 145. The customer platform 140provides a visual interactive interface that allows a customer to entera keyword search, search for nodes with properties that match thekeyword search in the external graph database, add a node that matchesthe keyword search to an electronic workspace, view informationaccompanying a node in a side panel, and add additional nodes and/or acorridor to the workspace. The customer platform 140 perform itsfunctions through the software engine 145. As the customer enters akeyword search through the interface, the software engine 145 searchesindexed properties on nodes in the external graph database andidentifies nodes that match or are similar to the search query. When thecustomer selects and adds an identified node to the workspace, thesoftware engine 145 adds the identified node to the workspace bygenerating and displaying a visual graphical element as representationof the identified node in the workspace. The software engine 145 alsoretrieves the accompanying information (which includes properties) ofthe identified node from the external graph database and displays thatinformation through the visual interactive interface. The displayed oraccompanying information may include the relevant information entered byanalyst during the input step, other nodes directly connected to theidentified node, and a number of corridors. Upon the customer selectingand adding one of the corridors, the software engine 145 generates anddisplays a visual graphic as representation of the corridor in theworkspace. The visual graphic for the corridor is generated anddisplayed by the nodes and edges that form the corridor. Customers canaccess the external production environment 120 over network connectionssuch as over an Internet connection.

The software engine 145 is configured to generate and display aplurality of visual graphical elements. The software engine 145 maygenerate a circle as the visual graphical element for a node (see FIGS.2, 3, and 5). The circle may have a different size or color to indicatewhether the node is identified as a particular type of node, including,for example, a corridor endpoint node. The circle may be furtherproduced with a symbol indicating a particular type of subject. FIG. 6depicts illustrative visual graphical elements 600 of a node with color605 indicating a particular type of node and symbol 610 indicating aparticular type of subject. The software engine 145 may generate a lineas the visual graphical element for an edge (see FIGS. 2, 3, and 5). Theline may have a different thickness, length, or color to indicate thetype of relationship. The line may also have an arrow at either end toindicate the direction of the relationship. The visual graphic ofcorridor can be generated based on the above circle and line. A separatetraversal line (e.g., arrow lines in FIGS. 3 and 5) can also be providedto illustrate the path of the corridor. Visual graphic refers to avisual representation created by one or more visual graphical elements.The software engine 145 may also generate other shapes to representnode, edge, and corridor.

FIGS. 7-11, 13, 14A, 15, and 16 depict illustrative screenshots of agraphical user interface 700 (FIG. 7) for customers and its operationthrough a software engine. Referring to FIG. 7, the graphical userinterface 700 comprises a visual interactive interface 705. The visualinteractive interface 705 includes a first command 710 configured toenter keyword searches on the external production environment. Customerconducts keyword searches for a node 712 by typing letters, numbers,symbols, marks, or a combination thereof in the first command 710 andthe interface 705 displays the search results 715 in categories. Thecategories include an entity category, a person category, an addresscategory, or other categories. Each category includes nodes of thecorresponding category that match the keyword search. The search resultsinclude nodes that are similar or match the keyword search node 712. Theinterface 705 displays the number of results (or nodes) in each categoryand the total number of results (or nodes) of all the categories. Theresults delivered in response to the keyword search 712 can include anytype of node, including any corridor endpoint node. Customer may selecta category to view all the results 720 in that category from theinterface 705. In FIG. 7, the customer selects the person category andthe interface 705 displays the nodes 720 in that category in a window722. The interface 705 includes buttons, tabs, windows, screens, andother mechanisms to receive customer selection and to display searchresults. The interface 705 also includes an electronic workspace 725 towhich nodes can be added and displayed via visual graphical elements.The interface 705 is software that is implemented and running on acomputer using computer instructions that are stored in memory that,when executed by a processor, displays or provides the graphical anduser-interactive features described herein (wherein the user caninteract with the interface using an input device of the computer suchas a keyboard). This includes the situation where the interface 705 isprovided through a web browser such as when a customer or analyst logsinto the platform from their Internet browser running on their computerover an Internet connection to the platform. The interface 705 isconfigured to implement the various related features described herein.

From the search results 720, the customer may select a displayed node730 to view additional information 735 about the selected node 730 asshown in FIG. 8. Additional information 735 helps the customer decide ifthe selected node 730 matches the keyword search 712 or the node thecustomer intends to investigate for sanctions-related risks. The nodesin each category have their corresponding additional information. Forexample, additional information 735 of the person category may include atotal number of connections (explained below), the real name, alias,date and place of birth, nationality, resident country, sanctions statusof the person, and other information. Sanctions status information mayinclude the jurisdiction (e.g., country or state) that sanctioned theperson or entity represented by the node, the date the person committedthe illegal act, and other information. Additional information 735 isdisplayed in another window 737 configured with one or more commands739, 740 to add the selected node 730 to the electronic workspace 725.The command 739 may allow the customer to add and place a node on theworkspace 725 immediately upon clicking the command 739. The location ofthe node is determined by the software engine 145. The location can besubsequently changed by the customer if needed. The command 740 mayallow the customer to drag a node onto the workspace 725. Upon clickingand holding the mouse on the command 740, the selected node may beaffixed to the mouse cursor and be moved along with the mouse cursor.The location of the node is determined by the customer and the customercan move the node to a location he or she desires. The node can beplaced at the desired location upon releasing the mouse at the desiredlocation. The node that appears on the workspace 725 is the visualgraphical element of the node generated by the software engine 145. Thevisual graphical element of the node is referred to as node in thedescription of FIGS. 7-16 for the ease of reading the instantapplication. Adding a node to the electronic workspace 725 (visualworkspace) may also be referred to as adding a node to the workspace.

FIG. 9 depicts an illustrative visual interactive interface displaying anode 745 (a node that has been displayed on the workspace 725 by theuser interacting with the interface). The customer may select anothernode 747 to add to the workspace 725. The node 747 may be one of theconnections (explained below) of the node 745 or another node searchedby the customer. The customer may view the additional information 735and decide whether to add the node 747 to the workspace 725 via thecommand 739 or 740.

FIG. 10 depicts adding additional nodes 778, 779 to a node 745. Uponadding a node 745, the customer may view connection information 780 ofthe node 745 by selecting the node 745 on the workspace 725. In thisexample, the subject of the node 745 is a person. The connectioninformation 780 includes nodes connected to the node 745, and the visualinteractive interface 705 also displays the connected nodes incategories 780. A connected node is a node that has an edge connectionto the displayed node. The categories are based on the relationship ofthe connected nodes to the node 745 (displayed node that is clickedon/selected by the user resulting on the system retrieving relationshipinformation, instantly). The categories for relevant nodes connected toa displayed node (e.g., node 745) may include a leadership & managementcategory, a facilitation & support category, a litigation, regulationenforcement category, a business associates category, and a familymembers category. The interface 705 displays the number of relevantnodes in each category and the total number of relevant nodes of all thecategories. The total number of relevant nodes of all the categories isalso the total number of connections the node 745 has. The interface 705also displays the additional information 737 about the added node 745 inconjunction with the connection information 780. The customer may selecta category to view all the relevant nodes 785 in that category from theinterface 705. In FIG. 10, the customer selects the facilitation &support category and the interface 705 displays the relevant nodes 785in that category in a window 787. To clarify, in the context of theinterface 705, the system permits the user to search and add nodes tothe workspace 725 that fall in the category of nodes that have no riskrelevance for the purpose of corridor generation. These can also befound as part of connected nodes to a displayed node (e.g., when a userclicks on the displayed node and the system provides relationshipinformation). This can add another dimension of visual information thatcan aid the user. With respect to associated corridors, corridors thatare retrieved and listed for node 745 when the customer selects node745, contain only the nodes or edges in resulting pathways that wereidentified by the node traversal process to produce corridors, which wasperformed before this information is made available on the externalproduction environment.

From the connected nodes 785, the customer may select a node 790 to viewadditional information 789 contained in window 738 about the node 790.The additional information 789 includes the name of the connected node790 and a description of the relationship between the connected node 790and the node 745. Additional information 789 helps the customer decideif the connected node 790 should be added to the workspace 725 to viewtheir relationship in a graphical form. Window 738 is configured withone or more commands 739, 740 to add the connected node 790 to theworkspace 725. The commands 739, 740 operate in the same mannersdiscussed above. Relevant nodes 778, 779 are illustrative nodes addedvia the steps explained above. When the nodes 778, 779 are added to theworkspace 725, their corresponding edge connections 761-763 to the nodes745, 778, and 779 are also added to the workspace 725. The edge or edgeconnection that appears on the workspace 725 is the visual graphicalelement of the edge or edge connection generated by the software engine145. The visual graphical element of an edge or edge connection isreferred to as an edge connection in the description of FIGS. 7-16 forthe ease of reading the instant application. The nodes 745, 778, 779 andthe edge connections 761-763 create a visual graphic 792. The visualgraphic 792 can be created with any number of nodes and edgeconnections. The structure or shape of the visual graphic 792 can bechanged by moving a node to a different location on the workspace 725 toarrange the nodes and their relationships in different manners and tofacilitate the understanding of their relationships. When a node isbeing moved to another area, the corresponding edge connection remainsconnected to the displayed node during the moving process. When the nodeis moved to another area, and the edge connection is also moved toanother area.

When a node 714 has corridors, the connection information 780 alsoincludes corridor information and corridors are stored in a corridorcategory for selection and display as shown in FIG. 11. When thecustomer selects the corridor category, the interface displays corridors794 in a window 788. The corridors 794 are the resulting corridors fromthe second subsystem. The corridors 794 may be ranked by the determineddegree of relevance and be displayed based on the rank. The corridors794 may be displayed with the one having the highest degree of relevancefirst and with the remaining ones arranged in a descending order. Thecorridors 794 may also be displayed in other orders. The interface mayalso display the corridors 794 with a measurement (e.g., (1), (2), (3),(4)) indicating the number of connecting nodes between the displayednode and the corridor endpoint node.

From the displayed corridors 794, the customer may select and add acorridor to the workspace 725. The selected corridor is visuallyillustrated in the workspace 725. The corridor is generated andpresented with nodes and edge connections and their correspondinggraphical elements. For example, when corridor A is added, corridor A isproduced with edge connection E1, connecting node C1, edge connectionE2, and corridor endpoint node T1. For another example, when corridor Bis added, corridor B is produced with edge connection E1 (if not alreadyproduced or if corridor A is not added yet), connecting node C1 (if notalready produced or if corridor A is not added yet), edge connection E3,connecting node C2, edge connection E4, and corridor endpoint node T2.Although the node 714 is not mentioned in the above corridors, it isalso part of the corridor. The line associated with the corridor is usedto illustrate the path of the corridor and it may or may not bedisplayed on the interface. The interface allows the customer to add oneor more corridors for the node 714. The subject of the node 714 is anentity, and the customer can evaluate financial crime andsanctions-related risks associated with the entity from the visualgraphics 792.

FIG. 12 depicts additional corridors 1 and 2 and corridor edge 3 toillustrate the concept of corridors. Corridors 1 and 2 are pathwaysbetween node A and corridor endpoint node G. Corridor edge 3 is an edgethat stores corridors 1 and 2 using nodes and properties. Forsimplicity, only the nodes involved are mentioned (not the edgeconnections). Corridor 1 includes node A, connecting node B, connectingnode C, and corridor endpoint node G. Corridor 2 includes node A,connecting node D, connecting node E, connecting node F, and corridorendpoint node G.

Additional information depicted in 735 (FIG. 9), 789 (FIG. 10) andconnection information depicted in 780 (FIG. 10) are derived from theaccompanying information or the relevant information an analyst enteredduring the input step discussed above.

The visual interactive interface also allows the customer to savecreated visual graphics 800 in the external graph database, loadprevious created and saved visual graphics 800 from the external graphdatabase, and share created visual graphics 800 with other individualsas shown in FIG. 13. Each saved visual graphic 800 may be referred to asa chart. The visual interactive interface also allows the customer toexport created visual graphics and the accompanying information to aparticular file format (e.g., PDF, Word, Powerpoint, etc.) for saving orcommunicating with another computer system. The visual interactiveinterface also allows the customer to view charts or insightsspecifically created by an analyst. An insight is a specific researchconducted by analyst for a particular subject or certain relationshipsthat are illustrative, instructive, interesting, or unique. FIG. 14adepicts an illustrative insight 900. The insight 900 includes a shortsummary 905 and a visual graphic 910 representing the summary 905. Theinsight may be provided to a customer only if an insight is relevant toor contains information that has appeared in the customer's search orwork history or the customer's previous inquiries. The insight may alsoalways be provided to customers whenever it is created by analyst.

An insight is created through an insight node with insight edges andrelevant nodes and properties. An insight node is created by an analystin the internal production environment and may be published to theexternal production environment. An insight is intended to provide abrief summary so the visual graphic should have only a certain amount ofcomplexity. An insight node and relevant nodes selected by analyst mayhave a limited number of edges or may be a node having a plurality ofedges but only a few of them are used by analyst. The insight node,relevant nodes, and edges are created to form a narrative or descriptionthat corresponds to the brief summary. FIG. 14b depicts an illustrativestructure for constructing the visual graphic of an insight.

The interface may provide insights to customer through two locations.The customer may access insights from the connection information 780 asshown in FIG. 15. The connection information 780 includes an insightcategory, and insights associated with a node will be displayed in awindow 796. Upon selecting from the displayed insights in 796, thecustomer may view a short summary of the selected insight in anotherwindow 797 configured with a command 798 to add its visual graphic 799to the workspace 725.

The customer may also access insights from a location 930 that storesand displays insights as shown in FIG. 16 among other things, withoutthe customer first querying a node or obtaining the connectioninformation. The stored insights may be divided into differentcategories and the customer may select a category 935 to view insights940 in that category. Each insight 945 may be depicted as a small window945 displaying a portion of the brief summary. The window 945 isconfigured with a command 950 that can access the entire brief summaryand the associated visual graphic.

The system 100 also includes a third subsystem 150 (FIG. 1) configuredwith a list graph that enables bulk exporting of tailored subsets ofdata and a fourth subsystem 155 (FIG. 1) configured to provide userauthorization and secure communications. The list graph in the thirdsubsystem 150 receives data from the publish flow 133 (FIG. 1) from theinternal production environment 115 (FIG. 1). The list graph in thethird subsystem 150 is configured to allow internal users to applyadvanced query searches to identify all nodes in the list graph thatmeet customer specified requirements. For example, a customer may want alist of all nodes that are identified as majority owned by corridorendpoint nodes; or for example, a customer may want a list of all nodesthat are identified as officers or directors of corridor endpoint nodes.To identify nodes matching customer specified requirements, the corridorendpoint node may serve as the starting node from which therelationships are traversed (rather than querying a node that is relatedto a corridor endpoint node and that does not appear on a sanctionslist). The certain subset of information and work produced by executingcustomer specified queries on the third subsystem 150 can be exported inbulk to a particular type of file and/or distributed by other means. Theexportation allows individuals to access the information without usingthe external production environment 120.

The fourth subsystem 155 is configured to provide user authorization andsecure communication. The fourth subsystem 155 can determine whether auser is authorized to access the system 100 and the level of access ofthe user. User can be analyst, customer, administrator, or otherindividuals. Analyst refers to individuals who use the internalproduction environment (including the internal graph database) or whobuild a database of financial crime and sanctions-related information.Customer refers to individuals who access the external productionenvironment (including the external graph database) via a web portal orwho evaluate financial crime-related and sanctions-related risks basedon the information built by analyst. Analyst and customer may not haveaccess to the other's environment and graph database. Administratorrefers to individuals who monitor and maintain the system 100 to ensurethat the system 100 is operating in the correct manner. Administratormay also be individuals who can grant access to analyst and customer.The technology of the fourth subsystem 155 may be based on security APIand may include protocols such as RDS MySQL, LDAP, OAuth2, and otherprotocols.

FIG. 17 depicts another illustrative computer-implemented system 1000for providing a visual interactive software tool that permits user toinvestigate and evaluate financial crime and sanctions-related risks.The system 1000 comprises an internal production environment 1005 and anexternal production environment 1010. The internal productionenvironment 1005 includes an analyst toolset 1022 and an internal graphdatabase 1024. The analyst toolset 1022 includes the electronic onlineworkspace for analysts 130 in FIG. 1. The internal productionenvironment 1005 also includes the software engine 135 in FIG. 1, andthe software engine 135 may be part of the analyst toolset 1022. Theanalyst toolset 1022 communicates with the internal graph database 1024to save and access the information and work analyst produced from theworkspace 130. The internal graph database 1024 is configured to feed orpublish the information and work the analyst produced to the externalproduction environment 1010 or external graph databases 1040, 1042(customer graph database). The publication process is performed by thesecond subsystem, and the second subsystem may be part of the internalgraph database 1024 or the internal production environment 1005. Theexternal graph databases may include one 1040 dedicated to customer webportal 1044 and one 1042 dedicated to bulk exporting of tailored subsetsof data. Customer may log into the external production environment 1010,or the platform for customers 140 shown in FIG. 1, via the portal 1044.The communication between customer and the platform 140 and between thecustomer web portal 1044 and the internal graph database 1024 may bebased on an application programming interface (API) to determine whethera customer is an authorized user and to ensure that the communicationsare secure. The customer platform 140 communicates with the externalgraph database 1040 to access the information and work analyst producedand to save the work customer produced from the platform 140. Theexternal graph database 1042 is configured to allow bulk exporting oftailored subsets of data or files containing the information and workanalyst produced. The lists may be exported periodically from thedatabase 1042 and for distribution. Exported lists allow individuals toview information and work analyst produced without the individualskeyword searching through the external production environment 1010.

In some embodiments, databases 1040 and 1042 may be one single databaseconfigured to be accessible by customer web portal 1044 and to exportlists 1046. The external production environment 1010 also includes thesoftware engine 145 in FIG. 1 to perform the operations of the platform140.

FIG. 18 depicts additional illustrative corridors that have certaintypes of relationships. The types of relationships may include ownershipstructures & subsidiaries, family member & affiliated companies,entities with a shared director, financiers & fundraising campaigns,bank accounts & financial transactions, entities with a shared address,and other types of relationships.

FIG. 19 depicts an illustrative visual graphic of one or more nodes. Thecomplexity of the visual graphic may depend on the number of nodes andedges involved. From FIG. 19, the customer can visually determine therelationships between different nodes, view their properties andevaluate financial crime and sanctions-related risk. The visual graphiccan include additional nodes and edges if there are additional relevantnodes or if the customer adds more nodes.

Each of the system 100, the internal and external productionenvironments, the graph databases, and the subsystems in FIG. 1 can beimplemented on one or more computer systems and be configured tocommunicate via a network connection. They all may also be implementedon one single computer system. In either situation, the computersystem(s) can communicate with analysts' computers and customers' clientdevices. The computer system(s) may also be referred to as servers. Thecomputer system(s), the analyst's computer, and the customer's clientdevice may adopt the following computer system.

In one embodiment, the computer system includes a bus or othercommunication mechanism for communicating information, and a hardwareprocessor coupled with bus for processing information. Hardwareprocessor may be, for example, a general purpose microprocessor.

The computer system also includes a main memory, such as a random accessmemory (RAM) or other dynamic storage device, coupled to bus for storinginformation and instructions to be executed by processor. Main memoryalso may be used for storing temporary variables or other intermediateinformation during execution of instructions to be executed byprocessor. Such instructions, when stored in non-transitory storagemedia accessible to processor, render computer system into aspecial-purpose machine that is customized to perform the operationsspecified in the instructions.

Computer system further includes a read only memory (ROM) or otherstatic storage device coupled to bus for storing static information andinstructions for processor. A storage device, such as a magnetic disk oroptical disk, is provided and coupled to bus for storing information andinstructions.

Computer system may be coupled via bus to a display, such as a cathoderay tube (CRT), for displaying information to a computer user. An inputdevice, including alphanumeric and other keys, is coupled to bus forcommunicating information and command selections to processor. Anothertype of user input device is cursor control, such as a mouse, atrackball, or cursor direction keys for communicating directioninformation and command selections to processor and for controllingcursor movement on display. This input device typically has two degreesof freedom in two axes, a first axis (e.g., x) and a second axis (e.g.,y), that allows the device to specify positions in a plane.

Computer system may implement the techniques described herein usingcustomized hard-wired logic, one or more ASICs or FPGAs, firmware and/orprogram logic which in combination with the computer system causes orprograms computer system to be a special-purpose machine. According toone embodiment, the techniques herein are performed by computer systemin response to processor executing one or more sequences of one or moreinstructions contained in main memory. Such instructions may be readinto main memory from another storage medium, such as storage device.Execution of the sequences of instructions contained in main memorycauses processor to perform the process steps described herein. Inalternative embodiments, hard-wired circuitry may be used in place of orin combination with software instructions.

The term storage media as used herein refers to any non-transitory mediathat store data and/or instructions that cause a machine to operation ina specific fashion. Such storage media may comprise non-volatile mediaand/or volatile media. Non-volatile media includes, for example, opticalor magnetic disks, such as storage device. Volatile media includesdynamic memory, such as main memory. Common forms of storage mediainclude, for example, a floppy disk, a flexible disk, hard disk, solidstate drive, magnetic tape, or any other magnetic data storage medium, aCD-ROM, any other optical data storage medium, any physical medium withpatterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, anyother memory chip or cartridge.

Storage media is distinct from but may be used in conjunction withtransmission media. Transmission media participates in transferringinformation between storage media. For example, transmission mediaincludes coaxial cables, copper wire and fiber optics, including thewires that comprise bus. Transmission media can also take the form ofacoustic or light waves, such as those generated during radio-wave andinfra-red data communications.

Various forms of media may be involved in carrying one or more sequencesof one or more instructions to processor for execution. For example, theinstructions may initially be carried on a magnetic disk or solid statedrive of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus. Bus carries the data to mainmemory, from which processor retrieves and executes the instructions.The instructions received by main memory may optionally be stored onstorage device either before or after execution by processor.

The computer system also includes a communication interface coupled tobus. Communication interface provides a two-way data communicationcoupling to a network link that is connected to a local network. Forexample, communication interface may be an integrated services digitalnetwork (ISDN) card, cable modem, satellite modem, or a modem to providea data communication connection to a corresponding type of telephoneline. As another example, communication interface may be a local areanetwork (LAN) card to provide a data communication connection to acompatible LAN. Wireless links may also be implemented. In any suchimplementation, communication interface sends and receives electrical,electromagnetic or optical signals that carry digital data streamsrepresenting various types of information.

Network link typically provides data communication through one or morenetworks to other data devices. For instance, network link may provide aconnection through local network to a host computer or to data equipmentoperated by an Internet Service Provider (ISP). ISP in turn providesdata communication services through the world wide packet datacommunication network now commonly referred to as the “Internet.” Localnetwork and Internet both use electrical, electromagnetic or opticalsignals that carry digital data streams. The signals through the variousnetworks and the signals on network link and through communicationinterface, which carry the digital data to and from computer system, areexample forms of transmission media.

Computer system can send messages and receive data, including programcode, through the network(s), network link and communication interface.In the Internet example, a server might transmit a requested code for anapplication program through Internet, ISP, local network andcommunication interface.

The received code may be executed by processor as it is received, and/orstored in storage device, or other non-volatile storage for laterexecution.

Embodiments described herein are primarily described in the context ofproviding a tool for evaluating prospective financial crime andsanctions-related risks for businesses considering commercial dealings,but it should be understood that applications in other areas includingapplication of particular features in other areas are contemplated.

It is understood from the above description that the functionality andfeatures of the systems, devices, or methods of embodiments of thepresent invention include generating and sending signals to accomplishthe actions.

It should be understood that variations, clarifications, ormodifications are contemplated. Applications of the technology to otherfields are also contemplated.

Exemplary systems, devices, and methods are described for illustrativepurposes. Further, since numerous modifications and changes will readilybe apparent to those having ordinary skill in the art, it is not desiredto limit the invention to the exact constructions as demonstrated inthis disclosure. Accordingly, all suitable modifications and equivalentsmay be resorted to falling within the scope of the invention.

Thus, for example, any sequence(s) and/or temporal order of steps ofvarious processes or methods (or sequence of device connections oroperation) that are described herein are illustrative and should not beinterpreted as being restrictive. Accordingly, it should be understoodthat although steps of various processes or methods or connections orsequence of operations may be shown and described as being in a sequenceor temporal order, but they are not necessarily limited to being carriedout in any particular sequence or order. For example, the steps in suchprocesses or methods generally may be carried out in various differentsequences and orders, while still falling within the scope of thepresent invention. Moreover, in some discussions, it would be evident tothose of ordinary skill in the art that a subsequent action, process, orfeature is in response to an earlier action, process, or feature.

It is also implicit and understood that the applications or systemsillustratively described herein provide computer-implementedfunctionality that automatically performs a process or process stepsunless the description explicitly describes user intervention or manualoperation.

It should be understood that claims that include fewer limitations,broader claims, such as claims without requiring a certain feature orprocess step in the appended claim or in the specification,clarifications to the claim elements, different combinations, andalternative implementations based on the specification, or differentuses, are also contemplated by the embodiments of the present invention

It should be understood that combinations of described features or stepsare contemplated even if they are not described directly together or notin the same context.

The terms or words that are used herein are directed to those ofordinary skill in the art in this field of technology and the meaning ofthose terms or words will be understood from terminology used in thatfield or can be reasonably interpreted based on the plain Englishmeaning of the words in conjunction with knowledge in this field oftechnology. This includes an understanding of implicit features that forexample may involve multiple possibilities, but to a person of ordinaryskill in the art a reasonable or primary understanding or meaning isunderstood.

Software can be implemented as distinct modules or software applicationsor can be integrated together into an overall application such as onethat includes the user interface and that handles other feature forproviding the functionality to the user on their device.

It is intended that the specification and examples be considered asexemplary only, with a true scope being indicated by the claims andtheir equivalents.

1. A computer-implemented system comprising: a document libraryimplemented on a computer configured with volatile and non-volatilememory; the document library is configured to communicate with differentdata sources over a network to receive financial crime andsanctions-related risk information to be reviewed by users, and savereceived information for use in identifying nodes, edges, andproperties; wherein the data sources include government sanctions lists,court records, records of incorporation, corporate filings, shippingrecords, news, websites, public social media postings, and multi-media;and wherein the received information includes multimedia from anewspaper or other data source, a link to the multimedia, or informationabout the multimedia, and Wherein the system is configured to implementan environment that permits users to retrieve the information from thedocument library and is configured to allow users to view informationsaved by other users or have restrictions in place that limit access ofusers, to include an approval process for the saved information, and todetermine whether a user is authorized to access the system and thelevel of access of the user.